1. Field of the Invention
The present invention relates to a servo controller that controls driving of an arm of a robot or a feed shaft of a drive mechanism such as a machine tool, injection molding equipment, or a pressing machine, and in particular, to tandem control in which one movable member is controlled by a plurality of motors.
2. Description of the Related Art
Tandem control is known as a drive method used for drive mechanisms for various machines such as robots, machine tools, injection molding equipment, and pressing machines. With this method, if a movable member to be moved is too large to accelerate or decelerate by one motor that drives a movement shaft of the movable member, the same movement command is provided to a plurality of motors, which then drive this movable member. Thus, the movable member is stably driven while maintaining a proper position. With this method, a drive shaft of each motor must have its position controlled so that the movable member will not be twisted.
FIG. 13 is a block diagram showing an example of configuration of conventional position tandem control. This drawing shows an example of tandem control for a drive mechanism in which two motors, a first motor 15 and a second motor 25, drive one movable member 4.
A controller for the first motor 15 comprises a position control section 11 that carries out position loop control, a velocity control section 12 that carries out velocity loop control, a current control section 13, and a current amplifier 14. Furthermore, the first motor 15 is provided with a velocity detector 17 that detects a velocity feedback amount (velocity FB1). A movable member 4 located closer to the first motor is provided with a position detector 18 that detects a position feedback amount (position FB1).
Further, a controller for the second motor 25 comprises a position control section 21, a velocity control section 22, a current control section 23, and a current amplifier 24. Furthermore, the second motor 25 is provided with a velocity detector 27 that detects a velocity feedback amount (velocity FB2). A movable member 4 located closer to the second motor is provided with a position detector 28 that detects a position feedback amount (position FB2).
Depending on the conditions of the movable member 4 such as its rigidity, only one or neither of the position detectors 18 and 28 are attached to the movable member 4. In the former case, the other position detector is installed on an output shaft of the motor. Further, only one of the position detectors 18 and 28 may be provided. That is, the plurality of motors used for tandem control may be provided with the respective position detectors or one common position detector. Furthermore, the position detector 18 or 28 may be attached to the output shaft of the motor or the like to detect the rotating position of the motor and thus the position of the movable member. Alternatively, the position detector may be attached directly to the movable member to directly detect its movement. Further, the position detector may be composed of a linear scale or a rotary encoder.
The position control sections 11 and 21 each receive, from a higher controller (not shown), the same position command distributed by a command distributor 3, and subtract the position feedback amount (position FB1 or position FB2, respectively; if only one position detector is provided, then position FB1=position FB2) from the command to obtain a position deviation. The position control section then processes the position deviation amount obtained to output a velocity command.
The velocity control sections 12 and 22 each receive the velocity command from the position control section 11 or 21, respectively, and subtract, from the velocity command, the velocity feedback amount (velocity FB1 or velocity FB2), respectively) detected by the velocity detector 17 or 27 attached to the motor, respectively, to obtain a velocity deviation amount. On the basis of the velocity deviation amount obtained, the velocity control section executes a velocity loop process including a proportion and integration to output a current command.
The current control sections 13 and 23 each receive the current command from the velocity control section 12 or 22, respectively, and subtract, from the current command, a current feedback amount from a sensor (not shown) that detects a motor current. The current control section then processes the current deviation amount obtained (current FB1 or current FB2) to output a voltage command.
The current amplifiers 14 and 24 each receive the voltage command from the current control section 13 or 23, respectively, and form a drive current to drive the motor 15 or 25, respectively, thereby driving the motor 15 or 25. Then, the motors 15 and 25 drive ball screws 16 and 26, respectively, screwed in ball nuts attached to the movable member 4, thus moving the movable member 4.
In this manner, on the basis of the same position command, loop processes for position, velocity, and current are executed for the two motors 15 and 25, so that the movable member 4 is driven by the resultant force of output torque from the two motors.
With the position tandem control described above, repeated accelerations and decelerations cause integral values of integrators of the velocity control sections 12 and 22 to increase on the plus and minus sides, respectively, owing to a difference in loading timing between the velocity feedback amounts (velocity FB1 and velocity FB2) as well as quantization. Thus, an excessive current command may be generated. In particular, if only one position detector is provided and common position feedback is provided to all motors (position FB1=position FB2), when there is only a small difference between a motor drive position and a position detected by the position detector (when the position detector is attached to a rotating shaft of the motor or to a position close to a drive mechanism for the motor), the integrator in the velocity control section of the control system for the motor generates a current command based on its own integral value. As a result, position feedback is provided so as to eliminate this bias.
However, for the other motor, whether the integral value of the integrator in the velocity control section of the control system for the motor increases on the plus or minus side, position feedback is not provided in a manner such that it eliminates this bias. Accordingly, the integrator continues having such a biased integral value, thereby degrading controllability of the motor. Consequently, the motor may be overheated.
For example, in the example in FIG. 13, if there is no or only a small difference between the rotating position of the first motor 15 and the position detected by the position detector, it will be impossible for the integral value of the integrator in the velocity control section 12 of the control system for the first motor 15 to significantly increase. However, for the second motor 25, position feedback (position FB2) is not provided in a manner such that it eliminates the bias in the integral value of the integrator in the velocity control section 22, with the result that the integral value of the integrators becomes biased, thereby degrading controllability of the motor. Consequently, the second motor 25 may be overheated.
It is an object of the present invention to solve the above described problems of the prior art to correct a bias in an integral value of an integration element of a velocity control section, thus preventing degradation of controllability of a motor and occurrence of overheat of the motor which may be caused by this bias.
For the purpose of attaining this object, according to a first aspect of the present invention, there is provided a servo controller that allows one driven body to be driven by a plurality of motors. This servo controller comprises, for each of the motors, a position control section and a velocity control section. The position control section calculates a position deviation value as a difference between a position command value inputted by a higher controller and a feedback value provided by a position detector that detects a position of the driven body, and then outputs a velocity command. The velocity control section receives the velocity command value and obtains, using an integration element and a proportion element, a current command based on the velocity command value and a velocity feedback value provided by a velocity detector that detects a velocity of the driven body, and then outputs the current command. Each of the position control sections receive the same position command from the higher controller to control the driven body. The servo controller further comprises means for equalizing outputs from the integration elements in the velocity control sections.
The servo controller may assume the following forms:
Means for equalizing the outputs from the integration elements uses an output from the integration element of one of the plurality of velocity control sections as an output from the integration element of the other velocity control section.
The means for equalizing the outputs from the integration elements replace an integral value of the integration element in one of the plurality of velocity control sections with an integral value of the integration element in the other velocity control section by rewriting.
The means for equalizing the outputs from the integration elements determines an average value for the velocity feedback amounts inputted by the plurality of velocity control sections and uses this average value as a velocity feedback amount for the integration element in each of the plurality of velocity control sections.
The means for equalizing the outputs from the integration elements obtains the same value by using a time constant circuit to cause a delay for a fixed time.
The means for equalizing the outputs from the integration elements is enabled while the driven body is stopped.
The means for equalizing the outputs from the integration elements performs one rewrite operation whenever the driven body is stopped.
The means for equalizing the outputs from the integration elements performs a rewrite operation whenever and while the driven body is stopped.
The means for equalizing the outputs from the integration elements is enabled when an external signal is inputted.
The means for equalizing the outputs from the integration elements is enabled when the integration elements provide the same value after the external signal has been inputted.
Further, according to a second aspect of the present invention, there is provided a servo controller that allows one driven body to be driven by a plurality of motors. This servo controller comprises position control sections that carry out position loop control for each of the motors, and velocity control sections that carry out velocity loop control including a proportion and integration processes. Each of the position control sections receives the same position command from a higher controller, and carries out position loop control to output a velocity command. Furthermore, an integration element is provided in only the velocity control section for a particular one of the plurality of motors, and each of the velocity control sections for other motors carries out an integration process using an output from the integration element of the velocity control section for the particular motor. Further, the velocity control section carries out a proportion process on the basis of its own velocity feedback value.
According to the servo controller of the present invention, tandem control is carried out so as to prevent an increase in the difference between the integral values of the integrators in the velocity control sections. This in turn prevents degradation of controllability of each motor and occurrence of overheat which may be caused by this bias.